package cn.dujc.superkid.api;

import cn.dujc.superkid.bean.AnswerListResult;
import cn.dujc.superkid.bean.CreateOrderResult;
import cn.dujc.superkid.bean.CurrencyResult;
import cn.dujc.superkid.bean.PayResult;
import retrofit2.Call;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;

/**
 * 9、在线答疑
 */
public interface ApiAnswerOnline {

    /**
     * 获得所有答疑
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * logincode	是	string	验证登陆验证码
     * channel	否	int	频道id
     * num	否	int	每页显示数量，默认为10
     * page	否	int	第几页，默认为1
     */
    @GET("answer")
    public Call<Result<AnswerListResult>> answer(@QueryMap QMap map);

    /**
     * 提交答疑
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * question	是	string	问题内容
     * channel	是	int	频道id
     * logincode	是	string	登陆验证代码
     */
    @FormUrlEncoded
    @POST("answer/add")
    public Call<Result<Object>> answerAdd(@FieldMap QMap map);

    /**
     * 获得用户牛币
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * logincode	是	string	登陆验证码
     */
    @GET("member/getCurrency")
    public Call<Result<CurrencyResult>> memberGetCurrency(@QueryMap QMap map);

    /**
     * 充值牛币，支付成功后调用充值牛币
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * logincode	是	string	登陆验证码
     * product_id	是	int	vip产品id
     * num	是	int	牛币数量
     * paykey	是	string	支付key，用于验证（客户端加密规则为：md5(user_id+product_id+num)
     */
    @FormUrlEncoded
    @POST("member/currency")
    public Call<Result<Object>> memberCurrency(@FieldMap QMap map);

    /**
     * 牛币兑换会员
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * logincode	是	string	登陆验证码
     * product_id	是	int	vip产品id
     */
    @FormUrlEncoded
    @POST("member/vipCurrency")
    public Call<Result<Object>> memberVipCurrency(@FieldMap QMap map);

    /**
     * 创建订单(安卓)
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * logincode	是	string	登陆验证码
     * product_id	是	int	vip产品id
     */
    @FormUrlEncoded
    @POST("member/createOrder")
    public Call<Result<CreateOrderResult>> memberCreateOrder(@FieldMap QMap map);

    /**
     * 支付后修改订单状态(安卓)
     * time	是	string	时间戳
     * token	是	string	token
     * user_id	是	int	用户id
     * channel	是	int	频道id
     * logincode	是	string	登陆验证码
     * order	是	string	订单id
     * paykey	是	string	支付key，用于验证（客户端加密规则为：md5(订单号+user_id+success/fail)
     */
    @FormUrlEncoded
    @POST("member/orderPay")
    public Call<Result<Object>> memberOrderPay(@FieldMap QMap map);

    @FormUrlEncoded
    @POST("index/pay/wx_pay")
    public Call<Result<PayResult>>pay(@FieldMap QMap map);

}